﻿#define  _CRT_SECURE_NO_WARNINGS 1
#include<iostream>
#include<stdio.h>
#include<stdlib.h>

using namespace std;


namespace zhz
{
	int rand=10;
	namespace ys
	{
		int x=5;
		double y=6.6;
	}
	
}
int main()
{
	int a = 0;
	// 引⽤：b和c是a的别名
	int& b = a;
	int& c = a;
	// 也可以给别名b取别名，d相当于还是a的别名
	int& d = b;
	++d;
	// 这⾥取地址我们看到是⼀样的
	cout << &a << endl;
	cout << &b << endl;
	cout << &c << endl;
	cout << &d << endl;
	cout << a << endl;
	return 0;
}



//int main()
//{
//	/*printf("%d\n", zhz::rand);
//	printf("%d\n", zhz::ys::x);
//	printf("%d\n", zhz::ys::y);*/
//
//
//	//std::cout << "Hello world" << std::endl;
//
//	
//	/*int a = 10;
//	const int& b = a;*/
//	//const int& c = 10 * a;
//	/*double d = 15.34;
//	const int& rd = b;*/
//	
//	int i = 0;
//	double j = 0.0;
//	scanf("%d %lf", &i, &j);
//	printf("%d %0.1lf\n", i, j);
//
//	cin >> i >> j;
//	cout << i << " " << j << endl;
//
//
//
//	return 0;
//}

//int main()
//{
//	int a = 10;
//	const int& ra = 30;
//	// 编译报错: “初始化”: ⽆法从“int”转换为“int &”
//	// int& rb = a * 3;
//	const int& rb = a * 3;
//	double d = 12.34;
//	// 编译报错：“初始化”: ⽆法从“double”转换为“int &”
//	// int& rd = d;
//	const int& rd = d;
//	return 0;
//}